Blog

Gavin Pickin

October 24, 2018

Spread the word


Share your thoughts

We love Digital Ocean for many reasons, that list of reasons includes a big one - Digital Ocean is powering our Production Infrastructure.

For a long time, Digital Ocean has been a great way to get affordable, powerful and simplified Cloud computing up and running. For as little as $5 per month you can get a nice little droplet ( VM ) up and running in seconds, to host your ColdFusion app, wordpress site ( excuse my language ) or even Docker instances or a full Docker Swarm. Digital Ocean keeps improving its offering, and this year, we committed to moving our production infrastructure over to Digital Ocean, and now I'm happy to say we've been running on Digital Ocean for months now, and things have never been better. We get a lot of questions about how our setup looks, so this post will give you a little more insight into our Production Infrastructure, powered by Digital Ocean.

Full Disclaimer Ortus Solutions is a software reseller for several companies.

First before we look at what we have and how we're using it, full disclaimer, we are a reseller for a lot of the tools we use. We used these tools for a long time, and refer our customers to use them, and after some time, those companies recommend that we become resellers, which means we can better serve our customers with better support and we also make a small percentage to help fund our opensource products. We use all of the software we resell, and we only resell software we recommend and if we did not believe in these products, we wouldn't resell them, or use them.

Including but not limited to Adobe ColdFusion, FusionReactor, Nginx, Couchbase.

So what does our Prod Infrastructure look like?

Ortus Solutions Production Infrastructure built on Digital Ocean

LoadBalancer - Droplet

In front of everything, we have our LoadBalancer - NginxPlus. Digital Ocean has load balancers of their own now, which are very good, but we love NginxPlus with all of the configuration options, we decided we wanted our own VM with full control to get the best performance out of our loadbalancer. We use Floating Ips on our loadbalancer, so we can easily spin up a new loadbalancer and attach the existing ips to new machines, without having to touch DNS.

Database Server - Droplet

We have a MySQL droplet to power our database activity.

Caching - Multiple Droplets

We have a cluster of Couchbase servers to provide us lightning fast caching, and session replication to power our clustered apps.

Docker Swarm - Multiple Droplets

We have a collection of droplets with Docker installed, configured in a Docker Swarm. We have 3 managers and 2+ worker nodes. We use floating Ips to allow us to quickly spin up new members, and attach the IP to reduce downtime and DNS changes.

Volumes - Block Storage - Multiple small blocks

We have multiple small blocks of storage, attached at our Loadbalancer, and shared with our Docker Cluster nodes for file storage for our sites. We use block storage for the persistence of our MySQL droplet, as well storage for our logging, backups and configuration. If we need to spin up a new machine, small blocks are easily attached to new containers, and if we need to, restore quickly from backup snapshots. We treat our storage blocks like concerns in an application, you keep things small, separate and siloed… each block does one thing.

Firewalls

We have several firewalls setup. One is for our public loadbalancer. We ensure only specific ports are open for incoming traffic, and some of those ports are restricted to specific Ips. We also have a VPN rule, to lock down internal droplets, to ensure all of our other servers are only accessible to the loadbalancer, or our team on our VPN.

Floating Ips

We use Floating Ips for all DNS related entries, this makes life easier in the case of VM issues, we can get a new VM online and attach the IP and the world doesn't know anything has happened.

Monitoring

We love the monitoring and alerts built into Digital Ocean, simple but powerful alerts, and quality monitoring including in your normal VM price. If you need more power, you can use an alternative, but it's great that every VM has this out of the box.

Other features

They have released so many great features, and more are on the way. Spaces with CDN ( fully S3 compatible ), Virtual Private Cloud VPC, Load Balancers, Firewalls have all been added, and after talking to Digital Ocean reps at DockerCon, we are very excited to see managed databases and managed caches coming our way soon too.


Hopefully this information gives you an idea of how we are using Digital Ocean to power our Production Infrastructure, and maybe gives you a few ideas on how to improve your setup, whether you're a solo developer, or part of a large team, Digital Ocean can help you deliver.

PS: We use other tools and techniques to make our Production Infrastructure work for us, like Portainer, GitLab, Jenkins, S3, TravisCI, Github, Bitbucket, but we'll save that for another post.

Want to try out Digital Ocean? Here is a referral link to give you $100 in free credit to use over your first 60 days. https://m.do.co/c/20db2aaf09e4

Add Your Comment

(1)

Dec 18, 2018 10:23:08 UTC

by Josh Kutz-Flamenbaum

Thanks Gavin, this is very cool! What is Cert Bot?

Recent Entries

Ortus Monthly Recap - Jan/Feb

Ortus Monthly Recap - Jan/Feb

Ortus Solutions is kicking off 2025 with major milestones, from the highly anticipated Into the Box 2025 to groundbreaking advancements in BoxLang and key industry event appearances at Jfokus and DevNexus 2025. With new product releases, enhanced compatibility, and exclusive discounts, we’re equipping developers with the tools they need to build faster, smarter, and more efficiently.Let’s dive into the latest updates shaping the future of modern web development!

Maria Jose Herrera
Maria Jose Herrera
March 07, 2025
BoxLang 1.0.0 RC2 Launched

BoxLang 1.0.0 RC2 Launched

We’re entering the final stretch of our pre-releases, and we couldn’t be more excited to introduce RC2! 🚀 This release marks a major leap in performance and compatibility, the result of over six months of intensive development. Beyond enhanced stability and seamless integration, RC2 delivers game-changing performance optimizations that push the boundaries of efficiency. Get ready for our fastest, most refined release yet!

Luis Majano
Luis Majano
March 05, 2025
Building a Web App with BoxLang!

Building a Web App with BoxLang!

BoxLang, the new JVM-based scripting language from Ortus Solutions, is gaining traction among developers looking for a modern, lightweight alternative for building web applications. In a Recent blog post, Raymond Camden took it for a spin by developing a simple blog application, highlighting BoxLang's capabilities and ease of use. Let’s break down his experience and key takeaways.

Maria Jose Herrera
Maria Jose Herrera
March 04, 2025